1
Transformations fonctionnelles fondamentales
AI019Lesson 3
00:00

En Elixir, le calcul est considéré comme une série de transformations fondamentales. Les données sont immuables, et l'opérateur = n'est pas utilisé pour l'affectation, mais pour le correspondance de motifs.

1. L'opérateur de correspondance

La correspondance permet de lier des valeurs à des modèles. Si la structure du côté gauche ne correspond pas à celle du côté droit, la transformation échoue. Elixir utilise des opérateurs spécifiques pour le flux de données : Arithmétique (+, -, *, /), Comparaison (===, !==, >=), et Concaténation (<> pour les chaînes de caractères, ++ pour les listes).

2. L'expression 'with'

L'expression with orchestre des transformations en plusieurs étapes où le succès est conditionnel. Elle permet de chaîner des correspondances en utilisant <-. Contrairement à l'opérateur de correspondance =, si une correspondance échoue dans <- échoue, l'expression retourne la valeur qui ne correspond pas au lieu de lever une erreur.

[1,2,3][a|_] <- inputa = 1Échec : Retourner l'entrée

3. Portée et syntaxe

Sous le capot, with est traité comme un macro ou un appel de fonction. Les variables définies à l'intérieur n'ont pas de portée externe. La syntaxe comme moyenne = with count = ..., do: somme/compte est la manière basée sur les expressions de calculer des valeurs dérivées.

$$\text{moyenne} = \frac{\sum_{i=1}^{n} x_i}{n}$$

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>